+--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0d 53 6f 75 6e 64 48 | 65 6c 70 65 72 2e 68 00 |..SoundH|elper.h.| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 4d 50 43 | 43 01 00 00 00 00 00 00 |.TEXTMPC|C.......| |00000050| 00 00 00 00 00 11 3f 00 | 00 01 c8 ab b4 8a f6 ab |......?.|........| |00000060| b4 8a f6 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 94 b7 00 00 |........|........| |00000080| 2f 2f 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |//======|========| |00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000000d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 2f 2f 0d 2f 2f 20 |========|=.//.// | |000000e0| 53 6f 75 6e 64 48 65 6c | 70 65 72 2e 68 20 2d 20 |SoundHel|per.h - | |000000f0| 70 75 62 6c 69 63 20 68 | 65 61 64 65 72 20 66 6f |public h|eader fo| |00000100| 72 20 74 68 65 20 41 73 | 79 6e 63 68 72 6f 6e 6f |r the As|ynchrono| |00000110| 75 73 20 53 6f 75 6e 64 | 20 48 65 6c 70 65 72 0d |us Sound| Helper.| |00000120| 2f 2f 0d 2f 2f 20 57 72 | 69 74 74 65 6e 20 62 79 |//.// Wr|itten by| |00000130| 20 42 72 79 61 6e 20 4b | 2e 20 52 65 73 73 6c 65 | Bryan K|. Ressle| |00000140| 72 20 28 42 65 61 6b 65 | 72 29 2c 20 32 2f 34 2f |r (Beake|r), 2/4/| |00000150| 39 32 0d 2f 2f 09 55 70 | 64 61 74 65 64 20 62 79 |92.//.Up|dated by| |00000160| 20 42 72 61 64 6c 65 79 | 20 44 2e 20 4d 6f 68 72 | Bradley| D. Mohr| |00000170| 2c 20 32 2f 34 2f 39 35 | 2e 0d 2f 2f 0d 2f 2f 20 |, 2/4/95|..//.// | |00000180| 56 65 72 73 69 6f 6e 20 | 31 2e 30 30 2c 20 32 2f |Version |1.00, 2/| |00000190| 34 2f 39 32 09 09 4f 72 | 69 67 69 6e 61 6c 20 76 |4/92..Or|iginal v| |000001a0| 65 72 73 69 6f 6e 0d 2f | 2f 20 20 20 20 20 20 20 |ersion./|/ | |000001b0| 20 20 31 2e 30 31 2c 20 | 32 2f 32 30 2f 39 32 09 | 1.01, |2/20/92.| |000001c0| 41 64 64 65 64 20 53 48 | 47 65 74 53 74 61 74 65 |Added SH|GetState| |000001d0| 20 74 6f 20 66 69 78 20 | 68 61 6e 64 6c 65 20 73 | to fix |handle s| |000001e0| 65 6d 61 70 68 6f 72 65 | 20 70 72 6f 62 6c 65 6d |emaphore| problem| |000001f0| 0d 2f 2f 20 20 20 20 20 | 20 20 20 20 31 2e 30 32 |.// | 1.02| |00000200| 2c 20 33 2f 32 31 2f 39 | 32 09 4d 61 6b 65 20 68 |, 3/21/9|2.Make h| |00000210| 61 6e 64 6c 65 2f 65 72 | 72 6f 72 20 63 68 65 63 |andle/er|ror chec| |00000220| 6b 73 20 6d 6f 72 65 20 | 65 78 70 6c 69 63 69 74 |ks more |explicit| |00000230| 2c 20 6d 6f 64 69 66 79 | 0d 2f 2f 20 09 09 09 09 |, modify|.// ....| |00000240| 09 09 09 53 48 50 6c 61 | 79 53 74 6f 70 42 79 52 |...SHPla|yStopByR| |00000250| 65 63 20 28 74 6f 20 68 | 61 6e 64 6c 65 20 63 68 |ec (to h|andle ch| |00000260| 61 6e 6e 65 6c 73 20 77 | 69 74 68 20 6e 6f 20 73 |annels w|ith no s| |00000270| 79 6e 74 68 65 73 69 7a | 65 72 29 0d 2f 2f 20 20 |ynthesiz|er).// | |00000280| 20 20 20 20 20 20 20 31 | 2e 30 33 2c 20 34 2f 34 | 1|.03, 4/4| |00000290| 2f 39 32 09 09 4d 6f 64 | 69 66 69 63 61 74 69 6f |/92..Mod|ificatio| |000002a0| 6e 73 20 70 65 72 20 4b | 4f 2c 20 52 43 2c 20 4a |ns per K|O, RC, J| |000002b0| 52 2e 20 20 50 75 62 6c | 69 63 20 72 6f 75 74 69 |R. Publ|ic routi| |000002c0| 6e 65 73 20 6e 6f 77 20 | 70 61 73 63 61 6c 2e 0d |nes now |pascal..| |000002d0| 2f 2f 20 20 20 20 20 20 | 20 20 20 31 2e 30 34 2c |// | 1.04,| |000002e0| 20 34 2f 32 30 2f 39 32 | 09 52 65 76 65 72 74 65 | 4/20/92|.Reverte| |000002f0| 64 20 74 6f 20 53 48 50 | 6c 61 79 50 61 75 73 65 |d to SHP|layPause| |00000300| 2f 53 48 50 6c 61 79 43 | 6f 6e 74 69 6e 75 65 20 |/SHPlayC|ontinue | |00000310| 73 74 72 75 63 74 75 72 | 65 2e 0d 2f 2f 09 09 20 |structur|e..//.. | |00000320| 20 20 31 2e 30 34 61 20 | 32 2f 34 2f 39 35 09 09 | 1.04a |2/4/95..| |00000330| 55 70 64 61 74 65 64 20 | 74 6f 20 77 6f 72 6b 20 |Updated |to work | |00000340| 77 69 74 68 20 55 6e 69 | 76 65 72 73 61 6c 20 48 |with Uni|versal H| |00000350| 65 61 64 65 72 73 20 26 | 20 53 4d 33 2e 30 20 28 |eaders &| SM3.0 (| |00000360| 42 44 4d 29 0d 2f 2f 0d | 2f 2f 3d 3d 3d 3d 3d 3d |BDM).//.|//======| |00000370| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000380| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000003a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000003b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000003c0| 3d 0d 0d 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |=..//===|========| |000003d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000003e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000003f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000400| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 2f 2f 20 |========|====.// | |00000420| 49 6e 63 6c 75 64 65 73 | 0d 2f 2f 3d 3d 3d 3d 3d |Includes|.//=====| |00000430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000440| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000450| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000460| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000470| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000480| 3d 3d 0d 23 69 6e 63 6c | 75 64 65 20 22 53 74 64 |==.#incl|ude "Std| |00000490| 2e 68 22 0d 0d 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.h"..//=|========| |000004a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000004b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000004c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000004d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000004e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./| |000004f0| 2f 20 45 6e 75 6d 65 72 | 61 74 65 64 20 74 79 70 |/ Enumer|ated typ| |00000500| 65 73 0d 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |es.//===|========| |00000510| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000530| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000540| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000550| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 74 79 70 |========|====.typ| |00000560| 65 64 65 66 20 65 6e 75 | 6d 20 7b 0d 09 73 68 70 |edef enu|m {..shp| |00000570| 45 72 72 6f 72 20 3d 20 | 2d 31 2c 0d 09 73 68 70 |Error = |-1,..shp| |00000580| 46 69 6e 69 73 68 65 64 | 20 3d 20 30 2c 0d 09 73 |Finished| = 0,..s| |00000590| 68 70 50 61 75 73 65 64 | 20 3d 20 31 2c 0d 09 73 |hpPaused| = 1,..s| |000005a0| 68 70 50 6c 61 79 69 6e | 67 20 3d 20 32 0d 7d 20 |hpPlayin|g = 2.} | |000005b0| 53 48 50 6c 61 79 53 74 | 61 74 3b 0d 0d 74 79 70 |SHPlaySt|at;..typ| |000005c0| 65 64 65 66 20 65 6e 75 | 6d 20 7b 0d 09 73 68 72 |edef enu|m {..shr| |000005d0| 45 72 72 6f 72 20 3d 20 | 2d 31 2c 0d 09 73 68 72 |Error = |-1,..shr| |000005e0| 46 69 6e 69 73 68 65 64 | 20 3d 20 30 2c 0d 09 73 |Finished| = 0,..s| |000005f0| 68 72 50 61 75 73 65 64 | 20 3d 20 31 2c 0d 09 73 |hrPaused| = 1,..s| |00000600| 68 72 52 65 63 6f 72 64 | 69 6e 67 20 3d 20 32 0d |hrRecord|ing = 2.| |00000610| 7d 20 53 48 52 65 63 6f | 72 64 53 74 61 74 3b 0d |} SHReco|rdStat;.| |00000620| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========| |00000630| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000640| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000650| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000660| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000670| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 2f 2f 20 53 6f |========|==.// So| |00000680| 75 6e 64 20 48 65 6c 70 | 65 72 20 65 72 72 6f 72 |und Help|er error| |00000690| 20 63 6f 64 65 73 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d | codes./|/=======| |000006a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000006b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000006c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000006d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000006e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000006f0| 0d 23 64 65 66 69 6e 65 | 20 6b 53 48 45 72 72 4f |.#define| kSHErrO| |00000700| 75 74 61 43 68 61 6e 6e | 65 6c 73 09 09 31 09 09 |utaChann|els..1..| |00000710| 2f 2f 20 4e 6f 20 6d 6f | 72 65 20 6f 75 74 70 75 |// No mo|re outpu| |00000720| 74 20 72 65 63 6f 72 64 | 73 20 61 72 65 20 61 76 |t record|s are av| |00000730| 61 69 6c 61 62 6c 65 0d | 23 64 65 66 69 6e 65 20 |ailable.|#define | |00000740| 6b 53 48 45 72 72 42 61 | 64 52 65 66 4e 75 6d 09 |kSHErrBa|dRefNum.| |00000750| 09 09 32 09 09 2f 2f 20 | 49 6e 76 61 6c 69 64 20 |..2..// |Invalid | |00000760| 72 65 66 65 72 65 6e 63 | 65 20 6e 75 6d 62 65 72 |referenc|e number| |00000770| 0d 23 64 65 66 69 6e 65 | 20 6b 53 48 45 72 72 4e |.#define| kSHErrN| |00000780| 6f 6e 41 73 79 63 68 44 | 65 76 69 63 65 09 33 09 |onAsychD|evice.3.| |00000790| 09 2f 2f 20 49 6e 70 75 | 74 20 64 65 76 69 63 65 |.// Inpu|t device| |000007a0| 20 63 61 6e 27 74 20 68 | 61 6e 64 6c 65 20 61 73 | can't h|andle as| |000007b0| 79 6e 63 68 72 6f 6e 6f | 75 73 20 69 6e 70 75 74 |ynchrono|us input| |000007c0| 0d 23 64 65 66 69 6e 65 | 20 6b 53 48 45 72 72 4e |.#define| kSHErrN| |000007d0| 6f 52 65 63 6f 72 64 69 | 6e 67 09 09 34 09 09 2f |oRecordi|ng..4../| |000007e0| 2f 20 54 68 65 72 65 27 | 73 20 6e 6f 20 72 65 63 |/ There'|s no rec| |000007f0| 6f 72 64 69 6e 67 20 74 | 6f 20 72 65 74 75 72 6e |ording t|o return| |00000800| 0d 23 64 65 66 69 6e 65 | 20 6b 53 48 45 72 72 4e |.#define| kSHErrN| |00000810| 6f 74 52 65 63 6f 72 64 | 69 6e 67 09 09 35 09 09 |otRecord|ing..5..| |00000820| 2f 2f 20 4e 6f 74 20 61 | 6c 6c 6f 77 65 64 20 62 |// Not a|llowed b| |00000830| 65 63 61 75 73 65 20 77 | 65 27 72 65 20 6e 6f 74 |ecause w|e're not| |00000840| 20 72 65 63 6f 72 64 69 | 6e 67 0d 23 64 65 66 69 | recordi|ng.#defi| |00000850| 6e 65 20 6b 53 48 45 72 | 72 41 6c 72 65 61 64 79 |ne kSHEr|rAlready| |00000860| 50 61 75 73 65 64 09 09 | 36 09 09 2f 2f 20 41 6c |Paused..|6..// Al| |00000870| 72 65 61 64 79 20 70 61 | 75 73 65 64 0d 23 64 65 |ready pa|used.#de| |00000880| 66 69 6e 65 20 6b 53 48 | 45 72 72 41 6c 72 65 61 |fine kSH|ErrAlrea| |00000890| 64 79 43 6f 6e 74 69 6e | 75 65 64 09 37 09 09 2f |dyContin|ued.7../| |000008a0| 2f 20 41 6c 72 65 61 64 | 79 20 63 6f 6e 74 69 6e |/ Alread|y contin| |000008b0| 75 65 64 0d 0d 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |ued..//=|========| |000008c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000008d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000008e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000008f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000900| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./| |00000910| 2f 20 53 74 72 75 63 74 | 75 72 65 73 0d 2f 2f 3d |/ Struct|ures.//=| |00000920| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000930| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000940| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000950| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000960| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000970| 3d 3d 3d 3d 3d 3d 0d 74 | 79 70 65 64 65 66 20 73 |======.t|ypedef s| |00000980| 74 72 75 63 74 20 7b 0d | 09 53 48 52 65 63 6f 72 |truct {.|.SHRecor| |00000990| 64 53 74 61 74 09 72 65 | 63 6f 72 64 53 74 61 74 |dStat.re|cordStat| |000009a0| 75 73 3b 09 09 2f 2f 20 | 43 75 72 72 65 6e 74 20 |us;..// |Current | |000009b0| 72 65 63 6f 72 64 20 73 | 74 61 74 75 73 0d 09 75 |record s|tatus..u| |000009c0| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 09 74 6f 74 |nsigned |long.tot| |000009d0| 61 6c 52 65 63 6f 72 64 | 54 69 6d 65 3b 09 2f 2f |alRecord|Time;.//| |000009e0| 20 54 6f 74 61 6c 20 28 | 6d 61 78 69 6d 75 6d 29 | Total (|maximum)| |000009f0| 20 72 65 63 6f 72 64 20 | 74 69 6d 65 20 69 6e 20 | record |time in | |00000a00| 6d 73 0d 09 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e |ms..unsi|gned lon| |00000a10| 67 09 63 75 72 72 65 6e | 74 52 65 63 6f 72 64 54 |g.curren|tRecordT| |00000a20| 69 6d 65 3b 09 2f 2f 20 | 43 75 72 72 65 6e 74 20 |ime;.// |Current | |00000a30| 72 65 63 6f 72 64 65 64 | 20 74 69 6d 65 20 69 6e |recorded| time in| |00000a40| 20 6d 73 0d 09 73 68 6f | 72 74 09 09 09 6d 65 74 | ms..sho|rt...met| |00000a50| 65 72 4c 65 76 65 6c 3b | 09 09 09 2f 2f 20 30 2e |erLevel;|...// 0.| |00000a60| 2e 32 35 35 2c 20 74 68 | 65 20 63 75 72 72 65 6e |.255, th|e curren| |00000a70| 74 20 69 6e 70 75 74 20 | 6c 65 76 65 6c 0d 7d 20 |t input |level.} | |00000a80| 53 48 52 65 63 6f 72 64 | 53 74 61 74 75 73 52 65 |SHRecord|StatusRe| |00000a90| 63 3b 0d 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |c;..//==|========| |00000aa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000ab0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000ac0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000ad0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000ae0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//| |00000af0| 20 49 6e 69 74 69 61 6c | 69 7a 61 74 69 6f 6e 2c | Initial|ization,| |00000b00| 20 69 64 6c 65 2c 20 61 | 6e 64 20 74 65 72 6d 69 | idle, a|nd termi| |00000b10| 6e 61 74 69 6f 6e 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d |nation./|/=======| |00000b20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000b30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000b40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000b70| 0d 70 61 73 63 61 6c 20 | 4f 53 45 72 72 20 53 48 |.pascal |OSErr SH| |00000b80| 49 6e 69 74 53 6f 75 6e | 64 48 65 6c 70 65 72 28 |InitSoun|dHelper(| |00000b90| 42 6f 6f 6c 65 61 6e 20 | 2a 61 74 74 6e 46 6c 61 |Boolean |*attnFla| |00000ba0| 67 2c 20 73 68 6f 72 74 | 20 6e 75 6d 43 68 61 6e |g, short| numChan| |00000bb0| 6e 65 6c 73 29 3b 0d 70 | 61 73 63 61 6c 20 76 6f |nels);.p|ascal vo| |00000bc0| 69 64 20 53 48 49 64 6c | 65 28 76 6f 69 64 29 3b |id SHIdl|e(void);| |00000bd0| 0d 70 61 73 63 61 6c 20 | 76 6f 69 64 20 53 48 4b |.pascal |void SHK| |00000be0| 69 6c 6c 53 6f 75 6e 64 | 48 65 6c 70 65 72 28 76 |illSound|Helper(v| |00000bf0| 6f 69 64 29 3b 0d 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d |oid);../|/=======| |00000c00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c50| 0d 2f 2f 20 45 61 73 79 | 20 73 6f 75 6e 64 20 6f |.// Easy| sound o| |00000c60| 75 74 70 75 74 0d 2f 2f | 3d 3d 3d 3d 3d 3d 3d 3d |utput.//|========| |00000c70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000c90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000ca0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.| |00000cc0| 70 61 73 63 61 6c 20 4f | 53 45 72 72 20 53 48 50 |pascal O|SErr SHP| |00000cd0| 6c 61 79 42 79 49 44 28 | 73 68 6f 72 74 20 72 65 |layByID(|short re| |00000ce0| 73 49 44 2c 20 6c 6f 6e | 67 20 2a 72 65 66 4e 75 |sID, lon|g *refNu| |00000cf0| 6d 29 3b 0d 70 61 73 63 | 61 6c 20 4f 53 45 72 72 |m);.pasc|al OSErr| |00000d00| 20 53 48 50 6c 61 79 42 | 79 48 61 6e 64 6c 65 28 | SHPlayB|yHandle(| |00000d10| 48 61 6e 64 6c 65 20 73 | 6f 75 6e 64 2c 20 6c 6f |Handle s|ound, lo| |00000d20| 6e 67 20 2a 72 65 66 4e | 75 6d 29 3b 0d 0d 70 61 |ng *refN|um);..pa| |00000d30| 73 63 61 6c 20 4f 53 45 | 72 72 20 53 48 50 6c 61 |scal OSE|rr SHPla| |00000d40| 79 53 74 6f 70 28 6c 6f | 6e 67 20 72 65 66 4e 75 |yStop(lo|ng refNu| |00000d50| 6d 29 3b 0d 70 61 73 63 | 61 6c 20 4f 53 45 72 72 |m);.pasc|al OSErr| |00000d60| 20 53 48 50 6c 61 79 53 | 74 6f 70 41 6c 6c 28 76 | SHPlayS|topAll(v| |00000d70| 6f 69 64 29 3b 0d 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d |oid);../|/=======| |00000d80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000d90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000da0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000db0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000dc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000dd0| 0d 2f 2f 20 41 64 76 61 | 6e 63 65 64 20 73 6f 75 |.// Adva|nced sou| |00000de0| 6e 64 20 6f 75 74 70 75 | 74 0d 2f 2f 3d 3d 3d 3d |nd outpu|t.//====| |00000df0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000e00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000e10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000e20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000e30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000e40| 3d 3d 3d 0d 70 61 73 63 | 61 6c 20 4f 53 45 72 72 |===.pasc|al OSErr| |00000e50| 20 53 48 50 6c 61 79 50 | 61 75 73 65 28 6c 6f 6e | SHPlayP|ause(lon| |00000e60| 67 20 72 65 66 4e 75 6d | 29 3b 0d 70 61 73 63 61 |g refNum|);.pasca| |00000e70| 6c 20 4f 53 45 72 72 20 | 53 48 50 6c 61 79 43 6f |l OSErr |SHPlayCo| |00000e80| 6e 74 69 6e 75 65 28 6c | 6f 6e 67 20 72 65 66 4e |ntinue(l|ong refN| |00000e90| 75 6d 29 3b 0d 0d 70 61 | 73 63 61 6c 20 53 48 50 |um);..pa|scal SHP| |00000ea0| 6c 61 79 53 74 61 74 20 | 53 48 50 6c 61 79 53 74 |layStat |SHPlaySt| |00000eb0| 61 74 75 73 28 6c 6f 6e | 67 20 72 65 66 4e 75 6d |atus(lon|g refNum| |00000ec0| 29 3b 0d 70 61 73 63 61 | 6c 20 4f 53 45 72 72 20 |);.pasca|l OSErr | |00000ed0| 53 48 47 65 74 43 68 61 | 6e 6e 65 6c 28 6c 6f 6e |SHGetCha|nnel(lon| |00000ee0| 67 20 72 65 66 4e 75 6d | 2c 20 53 6e 64 43 68 61 |g refNum|, SndCha| |00000ef0| 6e 6e 65 6c 50 74 72 20 | 2a 63 68 61 6e 6e 65 6c |nnelPtr |*channel| |00000f00| 29 3b 0d 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |);..//==|========| |00000f10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000f20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000f30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000f40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000f50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//| |00000f60| 20 45 61 73 79 20 73 6f | 75 6e 64 20 69 6e 70 75 | Easy so|und inpu| |00000f70| 74 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |t.//====|========| |00000f80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000f90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000fa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000fb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00000fc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 70 61 73 63 |========|===.pasc| |00000fd0| 61 6c 20 4f 53 45 72 72 | 20 53 48 52 65 63 6f 72 |al OSErr| SHRecor| |00000fe0| 64 53 74 61 72 74 28 73 | 68 6f 72 74 20 6d 61 78 |dStart(s|hort max| |00000ff0| 4b 2c 20 4f 53 54 79 70 | 65 20 71 75 61 6c 69 74 |K, OSTyp|e qualit| |00001000| 79 2c 20 42 6f 6f 6c 65 | 61 6e 20 2a 64 6f 6e 65 |y, Boole|an *done| |00001010| 46 6c 61 67 29 3b 0d 70 | 61 73 63 61 6c 20 4f 53 |Flag);.p|ascal OS| |00001020| 45 72 72 20 53 48 47 65 | 74 52 65 63 6f 72 64 65 |Err SHGe|tRecorde| |00001030| 64 53 6f 75 6e 64 28 48 | 61 6e 64 6c 65 20 2a 74 |dSound(H|andle *t| |00001040| 68 65 53 6f 75 6e 64 29 | 3b 0d 0d 70 61 73 63 61 |heSound)|;..pasca| |00001050| 6c 20 4f 53 45 72 72 20 | 53 48 52 65 63 6f 72 64 |l OSErr |SHRecord| |00001060| 53 74 6f 70 28 76 6f 69 | 64 29 3b 0d 0d 2f 2f 3d |Stop(voi|d);..//=| |00001070| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00001080| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00001090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000010a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000010b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |000010c0| 3d 3d 3d 3d 3d 3d 0d 2f | 2f 20 41 64 76 61 6e 63 |======./|/ Advanc| |000010d0| 65 64 20 73 6f 75 6e 64 | 20 69 6e 70 75 74 0d 2f |ed sound| input./| |000010e0| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========| |000010f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00001100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00001110| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00001120| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========| |00001130| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 70 61 73 63 61 6c 20 |========|.pascal | |00001140| 4f 53 45 72 72 20 53 48 | 52 65 63 6f 72 64 50 61 |OSErr SH|RecordPa| |00001150| 75 73 65 28 76 6f 69 64 | 29 3b 0d 70 61 73 63 61 |use(void|);.pasca| |00001160| 6c 20 4f 53 45 72 72 20 | 53 48 52 65 63 6f 72 64 |l OSErr |SHRecord| |00001170| 43 6f 6e 74 69 6e 75 65 | 28 76 6f 69 64 29 3b 0d |Continue|(void);.| |00001180| 0d 70 61 73 63 61 6c 20 | 4f 53 45 72 72 20 53 48 |.pascal |OSErr SH| |00001190| 52 65 63 6f 72 64 53 74 | 61 74 75 73 28 53 48 52 |RecordSt|atus(SHR| |000011a0| 65 63 6f 72 64 53 74 61 | 74 75 73 52 65 63 20 2a |ecordSta|tusRec *| |000011b0| 72 65 63 6f 72 64 53 74 | 61 74 75 73 29 3b 0d 00 |recordSt|atus);..| |000011c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001200| 00 00 01 00 00 00 01 76 | 00 00 00 76 00 00 00 52 |.......v|...v...R| |00001210| 00 00 b2 3c 03 00 00 00 | 00 01 3a 00 6f 12 4e 56 |...<....|..:.o.NV| |00001220| 00 00 d5 4b 11 0a be 14 | 4e 5e 4e 75 4e 56 00 00 |...K....|N^NuNV..| |00001230| 0d 53 6f 75 6e 64 48 65 | 6c 70 65 72 2e 68 02 00 |.SoundHe|lper.h..| |00001240| 00 00 54 45 58 54 4d 50 | 43 43 01 00 ff ff ff ff |..TEXTMP|CC......| |00001250| 00 00 54 45 58 54 4d 50 | 43 43 01 00 ff ff ff ff |..TEXTMP|CC......| |00001260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001270| 00 00 a4 75 0d 76 00 00 | 11 3f 00 00 01 c8 78 56 |...u.v..|.?....xV| |00001280| 60 5a 4d 50 03 13 52 39 | 7c 67 84 74 8c 5b 65 4e |`ZMP..R9||g.t.[eN| |00001290| ff 00 00 05 45 a8 9f 65 | 72 00 12 08 01 00 00 07 |....E..e|r.......| |000012a0| 82 32 03 00 00 00 00 01 | 3a 30 e8 63 11 fe fc 15 |.2......|:0.c....| |000012b0| 48 e7 01 18 28 6e 00 08 | 20 54 01 3e 28 11 00 6a |H...(n..| T.>(..j| |000012c0| 12 2f 0c 4e ad 01 3a 82 | bd 69 67 01 66 14 7f 11 |./.N..:.|.ig.f...| |000012d0| 31 7c e8 f9 7f 01 4a 68 | 25 ab 12 42 68 00 68 7f |1|....Jh|%..Bh.h.| |000012e0| 01 be 68 25 01 67 7a 12 | 48 78 2b 3e 26 14 18 a2 |..h%.gz.|Hx+>&...| |000012f0| 41 ee fe fc 42 10 7f ae | 25 78 56 57 23 50 18 10 |A...B...|%xVW#P..| |00001300| 00 00 00 1e 00 78 00 18 | 01 dd 02 3d 00 78 00 18 |.....x..|...=.x..| |00001310| 01 dd 02 3d 00 00 00 00 | 00 00 00 00 00 00 00 00 |...=....|........| |00001320| 00 00 00 00 00 48 00 09 | 4d 6f 6e 61 63 6f 00 00 |.....H..|Monaco..| |00001330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001340| 00 00 00 00 00 00 00 00 | 00 03 00 04 00 78 00 18 |........|.....x..| |00001350| 01 dd 02 3d 00 78 00 18 | 01 dd 02 3d ab b4 52 bd |...=.x..|...=..R.| |00001360| 00 00 04 14 00 00 04 14 | 00 00 00 00 01 00 00 00 |........|........| |00001370| 00 04 00 01 00 01 00 00 | 01 00 00 00 01 76 00 00 |........|.....v..| |00001380| 00 76 00 00 00 52 00 82 | 90 18 26 32 00 00 00 1c |.v...R..|..&2....| |00001390| 00 52 00 01 4d 50 53 52 | 00 01 00 12 4d 57 42 42 |.R..MPSR|....MWBB| |000013a0| 00 00 00 2a 03 f0 ff ff | 00 00 00 00 00 00 00 00 |...*....|........| |000013b0| 03 ed ff ff 00 00 00 22 | 00 00 00 00 03 f0 ff ff |......."|........| |000013c0| 00 00 00 6e 00 00 00 00 | 00 00 00 00 00 00 00 00 |...n....|........| |000013d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000013e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000013f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+